package ec.linde.modulos.proyectos.servicio.impl;

import java.util.List;
import java.util.Map;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import ec.linde.modulos.dao.ContactoClienteDao;
import ec.linde.modulos.proyectos.servicio.ServicioContactoCliente;
import ec.linde.persistencia.entidades.proyectos.ContactoCliente;

@Stateless
public class ServicioContactoClienteImpl implements ServicioContactoCliente {

	@EJB
	private ContactoClienteDao contactoClienteDao;

	/*
	 * (non-Javadoc)
	 * 
	 * @see ec.linde.modulos.proyectos.servicio.ServicioContactoCliente#guardar(ec.linde.persistencia.entidades.proyectos.ContactoCliente)
	 */
	@Override
	public void guardar(ContactoCliente contactoCliente) {
		contactoClienteDao.guardar(contactoCliente);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see ec.linde.modulos.proyectos.servicio.ServicioContactoCliente#eliminar(ec.linde.persistencia.entidades.proyectos.ContactoCliente)
	 */
	@Override
	public void eliminar(ContactoCliente contactoCliente) {
		contactoClienteDao.eliminar(contactoCliente);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see ec.linde.modulos.proyectos.servicio.ServicioContactoCliente#buscarPorId(int)
	 */
	@Override
	public ContactoCliente buscarPorId(int idContactoCliente) {
		return contactoClienteDao.buscarPorId(idContactoCliente);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see ec.linde.modulos.proyectos.servicio.ServicioContactoCliente#obtenerListaPorPagina(int, int, java.lang.String, boolean, java.util.Map)
	 */
	@Override
	public List<ContactoCliente> obtenerListaPorPagina(int startIndex, int pageSize, String sortField, boolean sortOrder, Map<String, String> filters) {
		return contactoClienteDao.obtenerListaPorPagina(startIndex, pageSize, sortField, sortOrder, filters);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see ec.linde.modulos.proyectos.servicio.ServicioContactoCliente#obtenerListaCombo(java.lang.String, boolean, java.util.Map)
	 */
	@Override
	public List<ContactoCliente> obtenerListaCombo(String sortField, boolean sortOrder, Map<String, String> filters) {
		return contactoClienteDao.obtenerListaCombo(sortField, sortOrder, filters);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see ec.linde.modulos.proyectos.servicio.ServicioContactoCliente#contarPorCriterio(java.util.Map)
	 */
	@Override
	public int contarPorCriterio(Map<String, String> filters) {
		return contactoClienteDao.contarPorCriterio(filters);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see ec.linde.modulos.proyectos.servicio.ServicioContactoCliente#cargarDetalle(int)
	 */
	@Override
	public ContactoCliente cargarDetalle(int idContactoCliente) {
		return null;
	}

	@Override
	public List<ContactoCliente> obtenerContactoClientePorCliente(int idCliente) {
		return contactoClienteDao.obtenerContactoClientePorCliente(idCliente);
	}

}
